import { DrawStrategy, RectDrawStrategy, LineDrawStrategy, ArcDrawStrategy, PolygonDrawStrategy, HorizontalLineDrawStrategy, VerticalLineDrawStrategy } from './DrawStrategies';

export class DrawStrategyFactory {
  static createStrategy(type: string): DrawStrategy | null {
    switch (type) {
      case "rectFrame":
        return new RectDrawStrategy();
      case "hexFrame":
        return new PolygonDrawStrategy();
      case "verticalMullion":
        return new VerticalLineDrawStrategy();
      case "horizontalMullion":
        return new HorizontalLineDrawStrategy();
      case "line":
        return new LineDrawStrategy();
      case "arc":
        return new ArcDrawStrategy();
      default:
        return null;
    }
  }
}

